package com.ruoyi.iot.hikvision.ys;//package com.ruoyi.iot.hikvision.ys;
//
//import okhttp3.Response;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
//import java.io.IOException;
//import java.util.HashMap;
//import java.util.List;
//
//@Service
//public class YsCloundStorageService {
//    @Autowired
//    private YsTokenService ysTokenService;
//
//    @Autowired
//    private DeviceCameraChannelService deviceCameraChannelService;
//    /////////////////////////////////////
//    //试用云存储
//    public void ysStorageTry(DeviceCamera deviceCamera) {
//        DeviceCameraChannel query = new DeviceCameraChannel();
//        query.setDeviceId(deviceCamera.getId());
//        query.setStatus(DeviceCameraChannel.state_online);
//        DeviceCameraChannel deviceCameraChannel = deviceCameraChannelService.getFirstDeviceOnlineChannel(query);
//
//        HashMap<String,String> body = new HashMap<>();
//        body.put("accessToken",ysTokenService.getAccessToken());
//        body.put("deviceSerial",deviceCamera.getDeviceSerial());
//        body.put("channelNo",deviceCameraChannel.getChannelNo()+"");
//
//        body.put("requestId","123456789");
//
//        OkHttpUtils.getInstance().init()
//                .url("https://open.ys7.com/api/lapp/cloud/storage/trial")
//                .formBodyPost(body)
//                .execSync(new OkHttpUtils.OnResponse() {
//                    @Override
//                    public void onSuccess(Response response) {
//                        try {
//                            String body = response.body().string();
//                            if(!StringUtils.isEmpty(body)){
//                                YsDeviceTryStorageResponse ysResponse = JSONObject.parseObject(body, YsDeviceTryStorageResponse.class);
//                                if(ysResponse!=null&&ysResponse.code.equals("200")&&ysResponse.getData()!=null){
//                                    //成功
//
//
//                                }else {
//
//                                }
//                            }
//                        } catch (IOException e) {
//                            e.printStackTrace();
//                        }
//                    }
//                    @Override
//                    public void onError(Exception e) {
//                    }
//                });
//    }
//
//    //开启或关闭设备云存储
//    public void ysStorageOpenOrClose(DeviceCamera deviceCamera) {
//        HashMap<String,String> body = new HashMap<>();
//        body.put("accessToken",ysTokenService.getAccessToken());
//        body.put("deviceSerial",deviceCamera.getDeviceSerial());
//        body.put("enable","1");
//
//        OkHttpUtils.getInstance().init()
//                .url("https://open.ys7.com/api/lapp/cloud/storage/enable")
//                .formBodyPost(body)
//                .execSync(new OkHttpUtils.OnResponse() {
//                    @Override
//                    public void onSuccess(Response response) {
//                        try {
//                            String body = response.body().string();
//                            if(!StringUtils.isEmpty(body)){
//                                YsResponse ysResponse = JSONObject.parseObject(body, YsResponse.class);
//                                if(ysResponse!=null&&ysResponse.code.equals("200")){
//                                    //成功
//
//
//                                }else {
//
//                                }
//                            }
//                        } catch (IOException e) {
//                            e.printStackTrace();
//                        }
//                    }
//                    @Override
//                    public void onError(Exception e) {
//                    }
//                });
//    }
//
//    //查询设备云存储信息
//    public void deviceStorageInfo(DeviceCamera deviceCamera) {
//        DeviceCameraChannel query = new DeviceCameraChannel();
//        query.setDeviceId(deviceCamera.getId());
//        query.setStatus(DeviceCameraChannel.state_online);
//        DeviceCameraChannel deviceCameraChannel = deviceCameraChannelService.getFirstDeviceOnlineChannel(query);
//
//        HashMap<String,String> body = new HashMap<>();
//        body.put("accessToken",ysTokenService.getAccessToken());
//        body.put("deviceSerial",deviceCamera.getDeviceSerial());
//        body.put("channelNo",deviceCameraChannel.getChannelNo()+"");
//
//        OkHttpUtils.getInstance().init()
//                .url("https://open.ys7.com/api/lapp/cloud/v2/storage/device/info")
//                .formBodyPost(body)
//                .execSync(new OkHttpUtils.OnResponse() {
//                    @Override
//                    public void onSuccess(Response response) {
//                        try {
//                            String body = response.body().string();
//                            if(!StringUtils.isEmpty(body)){
//                                YsDeviceStorageInfoResponse ysResponse = JSONObject.parseObject(body, YsDeviceStorageInfoResponse.class);
//                                if(ysResponse!=null&&ysResponse.code.equals("200")&&ysResponse.getData()!=null){
//                                    //成功
//
//
//                                }else {
//
//                                }
//                            }
//                        } catch (IOException e) {
//                            e.printStackTrace();
//                        }
//                    }
//                    @Override
//                    public void onError(Exception e) {
//                    }
//                });
//    }
//
//    /////////////////////////////////////
//
//    public static class YsResponse{
//        private String code;
//        private String msg;
//
//        public String getCode() {
//            return code;
//        }
//
//        public void setCode(String code) {
//            this.code = code;
//        }
//
//        public String getMsg() {
//            return msg;
//        }
//
//        public void setMsg(String msg) {
//            this.msg = msg;
//        }
//
//    }
//
//    public static class YsDeviceTryStorageResponse {
//        private String code;
//        private String msg;
//        private StorageOrderInfo data;
//
//
//        public static class StorageOrderInfo {
//            private String orderId;//订单号
//
//            public String getOrderId() {
//                return orderId;
//            }
//
//            public void setOrderId(String orderId) {
//                this.orderId = orderId;
//            }
//        }
//
//        public String getCode() {
//            return code;
//        }
//
//        public void setCode(String code) {
//            this.code = code;
//        }
//
//        public String getMsg() {
//            return msg;
//        }
//
//        public void setMsg(String msg) {
//            this.msg = msg;
//        }
//
//        public StorageOrderInfo getData() {
//            return data;
//        }
//
//        public void setData(StorageOrderInfo data) {
//            this.data = data;
//        }
//    }
//
//    public static class YsDeviceStorageInfoResponse {
//        private String code;
//        private String msg;
//        private DeviceStorageInfo data;
//
//
//        public static class DeviceStorageInfo {
//            private String deviceSerial;//	String	设备序列号
//            private String username;//	String	用户名
//            private Integer channelNo;//	int	设备通道号
//            private Integer totalDays;//	int	存储时长
//            private String userEnable;//	int	当前云存储服务状态 1:开启 0:暂停
//            private Integer serviceTime;//	int	当前云存储的服务时长
//            private Integer serviceTimeUnit;//	int	当前云存储的服务时间单位 1:天 2:周 3:月 4:年
//            private Integer storageTime;//	int	当前云存储的存储时长
//            private Integer storageTimeUnit;//	int	当前云存储的存储时间单位 1:天 2:周 3:月 4:年
//            private List<DeviceStorageServiceInfo> cloudStorageServiceRespList;//	Array	云存储服务对象 ,包含所有可用的云存储
//
//            public String getDeviceSerial() {
//                return deviceSerial;
//            }
//
//            public void setDeviceSerial(String deviceSerial) {
//                this.deviceSerial = deviceSerial;
//            }
//
//            public String getUsername() {
//                return username;
//            }
//
//            public void setUsername(String username) {
//                this.username = username;
//            }
//
//            public Integer getChannelNo() {
//                return channelNo;
//            }
//
//            public void setChannelNo(Integer channelNo) {
//                this.channelNo = channelNo;
//            }
//
//            public Integer getTotalDays() {
//                return totalDays;
//            }
//
//            public void setTotalDays(Integer totalDays) {
//                this.totalDays = totalDays;
//            }
//
//            public String getUserEnable() {
//                return userEnable;
//            }
//
//            public void setUserEnable(String userEnable) {
//                this.userEnable = userEnable;
//            }
//
//            public Integer getServiceTime() {
//                return serviceTime;
//            }
//
//            public void setServiceTime(Integer serviceTime) {
//                this.serviceTime = serviceTime;
//            }
//
//            public Integer getServiceTimeUnit() {
//                return serviceTimeUnit;
//            }
//
//            public void setServiceTimeUnit(Integer serviceTimeUnit) {
//                this.serviceTimeUnit = serviceTimeUnit;
//            }
//
//            public Integer getStorageTime() {
//                return storageTime;
//            }
//
//            public void setStorageTime(Integer storageTime) {
//                this.storageTime = storageTime;
//            }
//
//            public Integer getStorageTimeUnit() {
//                return storageTimeUnit;
//            }
//
//            public void setStorageTimeUnit(Integer storageTimeUnit) {
//                this.storageTimeUnit = storageTimeUnit;
//            }
//
//            public List<DeviceStorageServiceInfo> getCloudStorageServiceRespList() {
//                return cloudStorageServiceRespList;
//            }
//
//            public void setCloudStorageServiceRespList(List<DeviceStorageServiceInfo> cloudStorageServiceRespList) {
//                this.cloudStorageServiceRespList = cloudStorageServiceRespList;
//            }
//        }
//
//        public static class DeviceStorageServiceInfo {
//
//            private String bussinessOrderId;//	int	订单号
//            private Integer productPayType;//	int	产品付费类型 1:付费 2:试用 3：其他
//            private Long effectTime;//	long	生效时间,时间戳
//            private Long expireTime;//	long	过期时间,时间戳
//            private Integer status;//	int	云存储状态 1:待使用 2:使用中
//            private Integer userActiveStatus;//	int	用户激活状态 1:激活状态 2:暂停状态
//            private Integer effectImmediately;//	int	服务是否立即生效 1:立即生效 2:延迟生效
//
//            public String getBussinessOrderId() {
//                return bussinessOrderId;
//            }
//
//            public void setBussinessOrderId(String bussinessOrderId) {
//                this.bussinessOrderId = bussinessOrderId;
//            }
//
//            public Integer getProductPayType() {
//                return productPayType;
//            }
//
//            public void setProductPayType(Integer productPayType) {
//                this.productPayType = productPayType;
//            }
//
//            public Long getEffectTime() {
//                return effectTime;
//            }
//
//            public void setEffectTime(Long effectTime) {
//                this.effectTime = effectTime;
//            }
//
//            public Long getExpireTime() {
//                return expireTime;
//            }
//
//            public void setExpireTime(Long expireTime) {
//                this.expireTime = expireTime;
//            }
//
//            public Integer getStatus() {
//                return status;
//            }
//
//            public void setStatus(Integer status) {
//                this.status = status;
//            }
//
//            public Integer getUserActiveStatus() {
//                return userActiveStatus;
//            }
//
//            public void setUserActiveStatus(Integer userActiveStatus) {
//                this.userActiveStatus = userActiveStatus;
//            }
//
//            public Integer getEffectImmediately() {
//                return effectImmediately;
//            }
//
//            public void setEffectImmediately(Integer effectImmediately) {
//                this.effectImmediately = effectImmediately;
//            }
//        }
//
//
//
//        public String getCode() {
//            return code;
//        }
//
//        public void setCode(String code) {
//            this.code = code;
//        }
//
//        public String getMsg() {
//            return msg;
//        }
//
//        public void setMsg(String msg) {
//            this.msg = msg;
//        }
//
//        public DeviceStorageInfo getData() {
//            return data;
//        }
//
//        public void setData(DeviceStorageInfo data) {
//            this.data = data;
//        }
//    }
//
//}
